home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / hardware / cpu115 / makefile < prev    next >
Makefile  |  1995-02-27  |  3KB  |  126 lines

  1. # TMi0SDGL(tm) makefile  Version 1.02
  2. #
  3. # Copyright(c) 1995 by B-coolWare.  Written by Bobby Z.
  4. #
  5. # make targets:
  6. #
  7. # Asm     - assembler version of identifier
  8. # RPascal - real mode pascal version
  9. # PPascal - protected mode pascal version
  10. # C       - C version
  11. # P5Pas   - P5Info pascal version
  12. # P5C     - P5Info C version
  13. # test486 - test486 program
  14. # clear   - cleanup
  15. # all     - all of the above
  16.  
  17. # ------------------- Compilers
  18. # Borland C++
  19. CC = bcc
  20. # Turbo C/C++
  21. # CC = tcc
  22. # Microsoft C/C++
  23. # CC = cl
  24. # Turbo Pascal
  25. TPC = tpc
  26. # Borland Pascal
  27. # TPC = bpc /cd
  28. # Linker
  29. TLIB = tlib
  30. # TLIB = lib
  31.  
  32. # ------------------- Memory Model
  33.  
  34. MODEL = l        # must be uppercase letter for Microsoft C
  35. ASMMODEL = __LARGE__    # must be __LARGE__ for Borland/Turbo Pascal
  36.  
  37. # ------------------- Paths
  38.  
  39. INCLUDE = I:\BORLANDC\INCLUDE
  40. LIB = I:\BORLANDC\LIB
  41.  
  42. # ------------------- Compiler Options
  43. # Borland C/C++, Turbo C/C++
  44. CCOPTC = /c /m$(MODEL) /I$(INCLUDE) /Ox
  45. CCOPTL = /m$(MODEL) /I$(INCLUDE) /L$(LIB) /Ox
  46. CCOPTL2 =
  47. # Microsoft C/C++
  48. # Note that you should set LIB environment variable to point to your MSC\LIB
  49. # directory.
  50. # CCOPTC = /A$(MODEL) /Ox /c /FPi /I$(INCLUDE)
  51. # CCOPTL = /A$(MODEL) /Ox /FPi /I$(INCLUDE)
  52. # CCOPTL2 = /link /NOI /NOE
  53.  
  54. # ------------------- Implicit rules
  55.  
  56. .obj.com:
  57.  tlink /t/x $*
  58. .asm.obj:
  59.  tasm /t/m/d$(ASMMODEL) $*
  60. .c.obj:
  61.  $(CC) $(CCOPTC) $<
  62.  
  63.  
  64. # -------------------- Explicit rules
  65.  
  66. all: Asm test486 RPascal PPascal C P5Pas P5C clear
  67.  
  68. # Assembler rules
  69.  
  70. Asm: cpu.com
  71. cpu.com: cpu.obj
  72. cpu.obj: cpu.asm
  73.  tasm /t/m/d__TINY__ $*
  74.  
  75. # Pascal rules
  76.  
  77. RPascal: cpu_rm.exe    # Borland Pascal real mode
  78. cpu_rm.exe: cpu_tp.obj speed_tp.obj smm.obj p5info.obj
  79.  $(TPC) /m cpu
  80.  del cpu_rm.exe
  81.  ren cpu.exe cpu_rm.exe
  82.  
  83. PPascal: cpu_pm.exe    # Borland Pascal protected mode
  84. cpu_pm.exe: cpu_tp.obp speed_tp.obp smm.obj p5info.obj
  85.  bpc /cp /m cpu
  86.  del cpu_pm.exe
  87.  ren cpu.exe cpu_pm.exe
  88.  
  89. cpu_tp.obj: cpu_hl.asm
  90.  tasm /t/m/d$(ASMMODEL) cpu_hl, cpu_tp
  91. speed_tp.obj: cpuspeed.asm
  92.  tasm /t/m/d$(ASMMODEL) cpuspeed, speed_tp
  93. cpu_tp.obp: cpu_hl.asm
  94.  tasm /t/m/d$(ASMMODEL)/d__DPMI__ cpu_hl, cpu_tp.obp
  95. speed_tp.obp: cpuspeed.asm
  96.  tasm /t/m/d$(ASMMODEL)/d__DPMI__ cpuspeed, speed_tp.obp
  97.  
  98. P5Pas: p5info.exe    # Turbo Pascal
  99. p5info.exe: p5info.obj
  100.  $(TPC) /m $*
  101. p5info.obj: p5info.asm
  102.  
  103. test486: test486.exe
  104. test486.exe: RPascal model486.obj
  105.  $(TPC) test486
  106.  
  107. # C/C++ rules
  108.  
  109. C: cpuc.exe
  110. cpuc.exe: cputype$(MODEL).lib
  111.  $(CC) $(CCOPTL) cpu.c cputype$(MODEL).lib $(CCOPTL2)
  112.  ren cpu.exe cpuc.exe
  113.  
  114. P5C: p5c.exe
  115. p5c.exe: p5c.obj cputype$(MODEL).lib
  116.  $(CC) $(CCOPTL) p5c.obj cputype$(MODEL).lib $(CCOPTL2)
  117. p5c.obj: p5info.c
  118.  $(CC) $(CCOPTC) -op5c.obj p5info.c
  119.  
  120. cputype$(MODEL).lib: cpu_hl.obj cpuspeed.obj smm.obj p5info.obj cputype.obj
  121.  $(TLIB) $* -+cpu_hl.obj -+cpuspeed.obj -+smm.obj -+p5info.obj -+cputype.obj
  122.  
  123. clear:
  124.  del *.ob?
  125.  
  126.